package com.javatom.notes.alibaba;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import com.sun.org.apache.xalan.internal.xsltc.compiler.Constants;
import lombok.Data;

import java.io.Serializable;


@Data
public class ResultMap implements Serializable {
    public ResultMap() {
    }

    private static final long serialVersionUID = 1L;
    /**
     * 业务状态码
     */
    private Integer code;
    /**
     * 业务信息
     */
    private String message;
    /**
     * 返回数据
     */
    private Object data;

    /**
     * 构造可自定义返回
     *
     * @param code    业务状态码
     * @param message 业务信息
     * @param data    返回数据
     */
    public ResultMap(Integer code, String message, Object data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }



    /**
     * 有返回数据操作成功返回
     *
     * @param data 返回数据
     * @return 封装统一返回值对象
     */
    public static ResultMap successData(Object data) {
        if (data == null) {
            data = "";
        }
        return new ResultMap(200, "成功", data);
    }

    /**
     * 有返回数据操作成功需要自定义返回信息
     *
     * @param message 业务信息
     * @param data    返回数据
     * @return 封装统一返回值对象
     */
    public static ResultMap success(String message, Object data) {
        return new ResultMap(200, message, data);
    }

}